package org.summer.lawyer.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.util.Date;

/**
 * 
 * 
 * 
 */

/**
 * 微信用户信息表
 */
@Data
@TableName(value = "wx_user")
public class WxUser {
    /**
     * 微信用户ID
     */
    @TableId(value = "wx_user_id", type = IdType.ASSIGN_ID)
    private Long wxUserId;

    /**
     * 账号
     */
    @TableField(value = "account")
    private String account;

    /**
     * 密码
     */
    @TableField(value = "`password`")
    private String password;

    /**
     * 昵称
     */
    @TableField(value = "nickname")
    private String nickname;

    /**
     * 头像
     */
    @TableField(value = "avatar")
    private String avatar;

    /**
     * 小程序openId
     */
    @TableField(value = "open_id")
    private String openId;

    /**
     * 小程序unionId
     */
    @TableField(value = "union_id")
    private String unionId;

    /**
     * 手机号码
     */
    @TableField(value = "phone_number")
    private String phoneNumber;

    /**
     * 真实姓名
     */
    @TableField(value = "real_name")
    private String realName;

    /**
     * 性别,M=男，F=女,O=未知
     */
    @TableField(value = "sex")
    private String sex;

    /**
     * 用户状态, 0=正常，1=冻结
     */
    @TableField(value = "`status`")
    private String status;

    /**
     * 协议状态,0=未同意，1=已同意
     */
    @TableField(value = "agreement")
    private Byte agreement;

    /**
     * 实名认证状态 0未实名认证，1已实名认证
     */
    @TableField(value = "real_name_auth")
    private String realNameAuth;

    /**
     * 开户银行
     */
    @TableField(value = "opening_bank")
    private String openingBank;

    /**
     * 银行卡号
     */
    @TableField(value = "bank_account")
    private String bankAccount;

    /**
     * 开户行地址
     */
    @TableField(value = "bank_address")
    private String bankAddress;

    /**
     * 名片姓名
     */
    @TableField(value = "card_name")
    private String cardName;

    /**
     * 名片电话号码
     */
    @TableField(value = "card_phone")
    private String cardPhone;

    /**
     * 删除标志（0代表存在 1代表删除）
     */
    @TableField(value = "del_flag")
    @TableLogic
    private String delFlag;

    /**
     * 创建者
     */
    @TableField(value = "create_by", fill = FieldFill.INSERT)
    private Long createBy;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新者
     */
    @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
    private Long updateBy;

    /**
     * 更新时间
     */
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 用户类型(normal普通用户，lawyer=律师用户）
     */
    @TableField(value = "wx_user_type")
    private String wxUserType;

    /**
     * 用户标签
     */
    @TableField(value = "user_tag")
    private String userTag;
}